package com.zuipin.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.zuipin.entity.Member;
import com.zuipin.vo.BackMemberDetailVo;
import com.zuipin.vo.BackMemberVo;
import com.zuipin.vo.MemberSearchVo;

/**
 * MemberMapper数据库操作接口类
 * 
 * @ClassName: Member
 * @author wuyicheng 
 * @time 2017年4月18日下午4:43:18 
 **/

@Mapper
public interface MemberMapper {
	
	/**
	 * 查询（根据主键ID查询）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public Member findById(@Param("id") Long id);
	
	/**
	 * 删除（根据主键ID删除）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public int deleteByPrimaryKey(@Param("id") Long id);
	
	/**
	 * 添加 （匹配有值的字段）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public int insert(Member member);
	
	/**
	 * 修改 （匹配有值的字段）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public int update(Member member);
	
	public int updateByPrimaryKey(Member member);
	
	public Member findByMember(Member member);
	
	public List<Member> findListMember(@Param("param") Map<String, Object> map);
	
	/**
	 * 查询全部会员信息（后台）
	 * @param sysId
	 * @param search
	 * @param page
	 * @return
	 */
	public List<BackMemberVo> findListMemberBack(@Param("sysId") Long sysId, @Param("search") MemberSearchVo search, @Param("memberLevelIds") List<String> memberLevelIds);
	
	/**
	 * （后台）查询详细会员详情
	 * @param memberId
	 * @param sysId
	 * @return
	 */
	public BackMemberDetailVo findMemberBackById(@Param("memberId") Long memberId, @Param("sysId") Long sysId);
	
	/**
	 * (后台)修改昵称-手机-邮箱
	 */
	public int updateBack(@Param("updateMember") BackMemberDetailVo backMemberDetailVo);
	
	/**
	 * (后台)禁用/启用会员
	 * 
	 */
	public int updateMemberStatus(Long memberId, Long sysId, String status);
	
	/**
	 * 
	 * @return
	 */
	public Member findByPhone();
}